//
//  RZMessageCellTool.h
//  RZIM
//
//  Created by reyzhang on 2021/8/19.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import "RZMessageInfo.h"
#import "RZMessageBaseCell.h"
#import "RZMessageCell.h"


NS_ASSUME_NONNULL_BEGIN





@interface RZMessageCellTool : NSObject

//读取背景图片
+ (UIImage *)getDefaultMessageCellBackgroundImage:(RZMessageInfo *)model;

//消息内容最大宽度
+ (CGFloat)getMessageContentViewMaxWidth;


//消息类型 - 消息cell 之间的关系映射
+ (NSDictionary *)messageCellClassMap;

//根据消息类型，获取消息key
+ (NSString *)getMessageCellKey:(RZMessageType)messageType;

/**
 获取消息的额外高度，除了消息内容外的
 */
+ (CGFloat)referenceExtraHeight:(Class)cellClass messageModel:(RZMessageInfo *)model;

/**
 根据图片对象，取图片消息的显示大小
 */
+ (CGSize)getThumbnailImageSize:(UIImage *)image;

/**
 根据原有图片大小，取缩略后的显示大小
 */
+ (CGSize)getThumbnailImageSizeWithOrignalSize:(CGSize)orignalImageSize;
@end

NS_ASSUME_NONNULL_END
